package com.csyf.manager.service;

import com.csyf.manager.channel.base.PaymentVo;
import com.csyf.manager.entity.SysPayment;
import com.csyf.manager.utils.page.JqGridVo;

import java.util.List;
import java.util.Map;

/**
 * @Author: Enzo
 * @Date: 2018/4/1 15:06
 */
public interface PayMentBiz {

    Map<String,String> createorder(PaymentVo vo) throws  Exception;


    /**
     * 查询未知状态的订单
     * @return
     */
    List<SysPayment> queryunknowOrder();


    /**
     * 根据订单号查询数据表中的数据
     * @return
     */
    SysPayment queryPaymentByOrderNo(String mch_id, String orderNo);

    SysPayment queryPaymentByOrderId(String orderNo);

    /**
     * 查询通道的订单信息
     * @param orderNo
     * @return
     * @throws Exception
     */
    //Map<String,String> queryChannelOrder(String orderNo) throws Exception;

    /**
     * 订单成功
     * @param orderNo
     */
    void doSuccess(String orderNo, String src_reason);

    /**
     * 订单成功
     * @param orderNo 我们的订单
     * @param src_order 上游订单
     * @param src_reason 原因
     */
    void doSuccess(String orderNo, String src_order, String src_reason);

    /**
     * 订单失败
     * @param order
     */
    void doFail(String order, String src_reason);

    /**
     * 未知订单，继续处理
     * @param orderNo
     * @param src_reason
     */
    void doUnkunow(String orderNo, String src_reason);


    /**
     * 未知订单，继续处理
     * @param orderNo
     * @param src_order
     * @param src_reason
     */
    void doUnkunow(String orderNo, String src_order, String src_reason);



    JqGridVo queryOrderByUserId(SysPayment vo, Integer page, Integer rows);

    /**
     * 查询代付订单金额
     * @return
     */
    int queryPaymentCountByDay(String mch_id);
}
